NameGen = class('NameGen')

function NameGen:initialize()

	self.male_names = {
		"Paul", "Douglas", "Mike", "Ken", "Jim", "Bob",
		"Richard", "Elvis", "Will", "Tim", "Lane", "Justin",
		"Kyle", "Wilson", "Sherman", "Jose", "Miguel", "Sergio",
		"Drew", "Phil", "Joseph", "Hunter", "Pablo", "Leonardo",
		"Raphael", "Donatello", "Michelangelo", "Homer", "Jesus",
		"Sterling", "Tyson", "Cliff", "Neo", "Morpheus", "Danny",
		"Jonathan", "Lyle", "DeShawn", "Aluicius", "Gregg", "Adam",
		"Steve", "Calvin", "Hobbes", "Lester", "Gary", "Heath",
		"Randy", "Trevor", "Cory", "Ricky", "Julian", "Bubbles",
		"Mister", "Charles", "Michael", "J", "James", "Borris",
		"Rocky", "Bullwinkle", "Waldo", "Jerry", "Matt", "Ben",
		"Kevin", "Garfield", "Lee", "Bruce", "Fritz", "Eric", 
		"Edward", "Lowtax", "Fragmaster", "Darren", "Kelly",
		"Aaron"

	}

	self.female_names = {
		"Ashleigh", "Jeri", "Debbie", "Lauren", "Mary", "Marie",
		"Michelle", "Angela", "Stephanie", "Melanie", "Melissa",
		"Jenevra", "LaRonda", "LaShonda", "Monique", "Mikela",
		"Raquel", "Carmen", "Layla", "Kate", "Selma", "Trinity",
		"Niobi", "Laice", "Estrella", "Marissa", "Nina", "Jane",
		"Natasha", "Mary Beth", "Jessica", "Krystal", "Bunny",
		"Bernadette", "Eve", "Virginia", "Caitlin", "Amber",
		"Misses", "Buttercup", "Allison", "Tiphni", "Lexi", 
		"Ozma", "Charlotte", "Alexandra", "Caroline", "Nicole",
		"Kelly", "Sheree", "Bianca", "Alexis", "April"

	}

	self.last_names = {

		"Edwards", "Apodoca", "Schoenberg", "Conroy", "Adams",
		"Castro", "Saracina", "Roots", "Holland", "Brickfield",
		"Bently", "Watts", "Garfield", "Petzrick", "Yavari",
		"Thompson", "Mitchell", "Nelson", "Brown", "Black",
		"White", "Blalock", "McDonald", "Pankratz", "Da Vinci",
		"O'Connell", "O'Donnell", "Bobandy", "Lahey", "Griffin",
		"Barkley", "Jordan", "to the R-O-C", "Smith", "Jones",
		"Manning", "Lindholm", "Schlitzky", "Anatov", "the Lost",
		"the Damned", "the Insufferable", "the Worst", "Seinfeld",
		"Damon", "Affleck", "Cohen", "Wackowsky", "the Fat", "Barr",
		"Davis", "Itnyre", "Long", "Burkes", "Fletcher", "Cooper",

	}

	self.place_nouns = {
		"Deck", "Vector", "Zone", "Area", "Section", "Community",
		"Bay", "Workshop", "Divide", "DMZ", "Capsule", "Pod", "Floor",
		"Office", "Lab",
	}

	self.place_adj = {
		"Radiated", "Contaminated", "Destroyed", "Mutated", "Collapsed",
		"Unbearable", "Doomed", "Totally F'ed Up", "Blasted", "Phased",
		"Bastardized", "Rather Nice", "Genuinely Quaint", "Developing",
		"Actually Somewhat Decent", "Mostly Screwed", "Doubtful", 
		"Hellbound", "Silent", "Dead", "Filthy", "Not Very Well Kept At All",
	}	


end

function NameGen:get_first_name( gender )
	
	local amt, names

	if gender == "m" then amt = #self.male_names; names = self.male_names
	elseif gender == "f" then amt = #self.female_names; names = self.female_names end

	local r = RNG:random(amt)

	return names[r]

end

function NameGen:get_last_name()

	local amt = #self.last_names
	local names = self.last_names

	local r = RNG:random(amt)

	return names[r]

end

function NameGen:random_gender()
	
	local r = RNG:random(100)

	if r > 55 then 
		return "m"
	else 
		return "f"
	end

end

function NameGen:get_place_name()
	local r_noun = self.place_nouns[RNG:random(#self.place_nouns)]
	local r_adj = self.place_adj[RNG:random(#self.place_adj)]

	return r_adj .. " " .. r_noun

end
